package com.xihuani.system.service.impl; import java.util.ArrayList; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Expression; import javax.persistence.criteria.Root; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.xihuani.system.service.RoleService; import com.xihuani.system.model.Role; import com.xihuani.system.model.User; @Service public class RoleServiceImpl implements RoleService { @PersistenceContext private EntityManager em; @Override @Transactional public List<Role> getRoleList() { CriteriaQuery<Role> c = em.getCriteriaBuilder().createQuery(Role.class); c.from(Role.class); return em.createQuery(c).getResultList(); } @Override @Transactional public void addRole(Role role) { em.persist(role); } @Override @Transactional public void deleteRole(Integer roleId) { Role role = em.find(Role.class, roleId); if (null != role) { em.remove(role); } } @Override @Transactional public List<Role> findRole(Integer []roleId) { CriteriaQuery<Role> criteria = em.getCriteriaBuilder().createQuery( Role.class ); Root<Role> roleRoot = criteria.from( Role.class ); criteria.select( roleRoot ); Expression<String> exp = roleRoot.get( "id" ); criteria.where( exp.in(roleId) ); return em.createQuery( criteria ).getResultList(); } }